/*
	@file: log/include/FormatterCreator.h
	@author: Wolfhead
 */
#ifndef _LOG_FORMATTER_CREATOR_H_
#define _LOG_FORMATTER_CREATOR_H_

#include <boost/shared_ptr.hpp>
#include <boost/property_tree/ptree.hpp>
#include "../formatter/Formatter.h"

namespace logger
{

class FormatterCreator;
typedef boost::shared_ptr<FormatterCreator> FormatterCreatorPtr;

class FormatterCreator
{
public:
	virtual ~FormatterCreator()
	{

	}

	virtual FormatterPtr create_formatter(
		boost::property_tree::ptree& setting) = 0;
};

}//namespace logger

#endif // #ifndef _LOG_FORMATTER_CREATOR_H_
